Generation of documents

ABSTRACT

A method of generating a document comprises: receiving a document template and a set of base content items for inclusion in said document; rendering an initial set of said base content items; determining an extent of any void spaces in said document after rendering of said base content items; and depending upon an extent of said void spaces, inserting a further additional content item into said document.

FIELD OF THE INVENTION

The present invention relates to the generation of documents, forexample by the rendering of documents in a digital printing system.

BACKGROUND TO THE INVENTION

Known publishing solutions operate either by using a known off setprinting press, or by using a digital printing press. With aconventional off set printing press, a master document needs to becopied and then the run of copies are printed off. Known digitalprinting presses have an advantage that successive individual printitems which are different to each other can be printed withoutinterrupting the work flow, i.e. the logical sequence of steps requiredto perform a printing operation. With the known digital printing press,a digital master document is provided electronically, and the number ofprint items in a print run is variable. Small print runs from one printitem output can be accommodated.

Known digital printing presses are capable of printing a print runcomprising a plurality of print items, wherein individual print itemswithin the print run are different to each other.

Referring to FIG. 1 herein, there is illustrated schematically inperspective view a known digital printing press.

The introduction of digital printing presses enables creation of morepersonalised documents, with an increasingly large amount of variabledata. This changes the way in which high quality full colour documentsare designed, and has lead printing press producers to introduce a newstandard to help graphic artists, marketing managers, and databasesadministrators to integrate their job in order to obtain the highlycustomised, variable documents capable of being produced by modernprinting presses.

Two known formats currently dominate, these being PPML (PersonalisedPrinting Mark-up Language), and PPML/T (PPML templating). The adoptionof these two formats helps the generation of variable data print (VDP)work flows, where design templates and data can be shared between thedifferent persons involved in printing.

This technology also enables high re-use of assets and the possibilityfor the Print Shop (print service provider—PSP) to consume partiallyfulfilled documents and replace the variable elements very close to theactual rasterizing process.

The PPML document comprises one or a plurality of pages. Each page hasone or more “copy holes” which can be positioned by a user on the page.Each copy hole is defined by a width a, height, and a 2-dimensionalposition on a page.

Inside each copy hole there is placed content, for example text contentcomprising a plurality of lines of text. Consequently, in known PPMLwork flows, everything is static. All aspects of layout and content arepre-determined and are positioned on the page, including the copy holes,and the content within the copy holes. A graphic artist designs the PPMLpage, and then inserts static text and/or objects within the copy holesusing a conventional graphic artist package, for example the known‘Express’ tool from QUARK.

In contrast, the known language extensible style sheet formattingobjects XSL-FO belongs to a class of languages known as documentdescription languages, DDL, which are languages which describe wholedocuments, rather than individual pages. In XSL-FO, there is no conceptof one page, but there is a concept of a sequence of pages making up adocument, and there is also a concept of where the content will bepositioned within a page sequence.

Known rendering engines are not capable of completing additional blankspaces in documents.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention, there is provideda method of generating a document comprising:

receiving a document template and a set of base content items forinclusion in said document;

rendering an initial set of said base content items;

determining an extent of any void spaces in said document afterrendering of said base content items; and

depending upon an extent of said void spaces, inserting a further isadditional content item into said document.

According to a second aspect of the present invention, there is providedan apparatus for generating a rendered document, comprising:

a rendering engine operable for rendering said document;

a component operable for identifying void spaces in said document;

a component capable of supplying at least one additional content itemand capable of incorporating said at least one additional content iteminto said document; wherein

said rendering engine is operable for rendering said document, inclusiveof said at least one additional content item.

According to a third aspect of the present invention, there is provideda method of generating a print run, said method comprising:

generating a base document in a document description language as aresult of applying a set of pre-rendering rules and a set of variabledata to a document model;

identifying at least one void area in said base document;

generating information describing a location of said at least one voidarea;

applying a set of rules which assign content to said at least one voidarea;

obtaining at least one additional content item in response to a saididentified at least one void area; and

generating a rendered document incorporating said at least oneadditional content item into said base document.

According to a fourth aspect of the present invention, there is provideda digital press comprising:

a rendering engine capable of identifying at least one void space withina document received by said rendering engine;

means for generating information describing a location of said voidspace;

means for applying a set of rules which assign additional content tosaid void area; and

means for rendering said base document, incorporating said additionalcontent items, to produce an output rendered document.

According to a fifth aspect of the present invention, there is provideda rendering engine comprising:

means for identifying content items in a copy flow, and converting saidcopy items to objects;

storage means for storing said plurality of objects;

means for arranging said objects into an object structure in which alocation of each object in said storage means is recorded;

means for determining a page layout of said plurality of objects in aplurality of pages of said copy flow; and

an interface means for allowing an external application to view saidpage layout, and to modify said page layout.

According to a sixth aspect of the present invention, there is provideda digital printing system comprising:

a pre-rendering rule engine capable of applying a set of pre-renderingrules to a document template, said pre-rendering rules operable forincorporating a set of base content data into said document template toproduce a document in a document description language;

a rendering engine for rendering said document;

a post rendering rule engine operable for applying a set of additionalcontent items to said document template, according to a set postrendering rules; and

a rendering engine for rendering at least one document according to saiddocument template, inclusive of said base content items and saidadditional content items added as a result of said post rendering rules,to produce a rendered document.

Other aspects of the invention are as recited herein.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the invention and to show how the same maybe carried into effect, there will now be described by way of exampleonly, specific embodiments, methods and processes according to thepresent invention with reference to the accompanying drawings in which:

FIG. 1 illustrates schematically in perspective view, a prior artdigital printing press;

FIG. 2 illustrates schematically a digital printing system according toa first specific embodiment of the present invention, comprising a firstcomputer entity hosting a graphic artist authoring tool; a secondcomputer entity hosting a marketing manager tool; and a digital printingpress adapted for applying a set of post rendering rules as describedherein after;

FIG. 3 illustrates schematically first and second pages of a documentspecified in extensible style sheet language for formatting objects(XSL-FO);

FIG. 4 illustrates schematically an XSL-FO copy flow in which a documenthas a first page of content and a second page of content, wherein thesecond page of content is repeated many times;

FIGS. 5 a to 5 c illustrates schematically a content flow comprising aplurality of pages, containing variable content in which a first page Ais filled with content, and a second page B₁, B₂, B₃, respectively isrepeated, each time having varying amounts of content, and which mayinclude void spaces;

FIG. 6 illustrates schematically in overview, processes carried out by amodified rendering engine for enabling an external component to viewinside the rendering engine, and to affect internal operation of therendering engine to modify documents by incorporation of additionalcontent during a rendering operation according to the first specificembodiment of the present invention;

FIG. 7 illustrates schematically in further detail, processes carriedout by a modified rendering engine for identification and organizationof content items in a content flow, and a layout of those content itemsinto pages;

FIG. 8 illustrates schematically a first digital printing system, inwhich a post rendering rule engine is incorporated into a digitalprinting press, and a pre-rendering rule engine is included externallyof the digital printing press, in an external computer entity accordingto the first specific embodiment of the present invention;

FIG. 9 illustrates schematically a second digital printing systemcomprising a digital printing press, and a pre-rendering rule engine anda post rendering rule engine which are provided by computer entitiesexternal of the digital printing press, according to a second specificembodiment of the present invention;

FIG. 10 illustrates schematically a document file after a firstrendering in which a set of base content items have been rendered, andthe same document after a second rendering, in which an additionalcontent item has been rendered, according to a specific method of thepresent invention;

FIG. 11 illustrates schematically first and second pages of a partiallyrendered document file in which a base content has been rendered,leaving a relatively large void space on a final page of the document;and

FIG. 12 illustrates schematically the second page of the document ofFIG. 11, and a process applied by a digital printing system forincorporating an additional content item in the void space of the finalpage of the document according to another specific method of the presentinvention.

DETAILED DESCRIPTION

There will now be described by way of example a specific modecontemplated by the inventors. In the following description numerousspecific details are set forth in order to provide a thoroughunderstanding. It will be apparent however, to one skilled in the art,that the present invention may be practiced without limitation to thesespecific details. In other instances, well known methods and structureshave not been described in detail so as not to unnecessarily obscure thedescription.

Referring to FIG. 3 herein, there is shown first and second pages 100,101 respectively of a document within extensible style sheet languagefor formatting objects (XSL-FO).

Suppose that the first page 100 is to be used first, and the second page101 is to be repeated several times.

Referring to FIG. 4 herein, the resultant document comprises an XSL-FOdocument having first page 100, and second page 101 repeated any numberof times.

A flow of copy comprises a plurality of documents, each of one or morepages, in a sequence. The copy flow may be specified by a documenttemplate, which applies to all documents in the flow, the documenttemplate specifying one or more static copy holes for including staticcontent items which repeat from document to document within the flow,and one or more variable copy holes, which contain variable contentwhich varies from document to document within the copy flow.

According to an embodiment of the present invention, a run of documentscan be printed, wherein each document within a print run has a basecontent which may include both common types of content; static contentwhich is common to, and re-occurs in different documents in the printrun; and variable content which differs from document to document. Anyvoid spaces in a document may be completed by inserting pre-determineditems of additional content; being either static content, variablecontent, or a combination of both. The additional static and/or variablecontent for a particular document is determined by a set of rules whichare applied after rendering the document, and which match the additional(static and/or variable) content to the existing base content of thedocument.

Referring to FIGS. 5 a to 5 c herein, there is illustrated schematicallyexamples of output scalable vector graphic (SVG) documents from therendering engine (rendering being a process in which content objects,such as lines of text, images, etc., are located on a page to create alayout). Such documents may include for example transactional documentssuch as credit cards statements or bank account statements, but ingeneral any type of document may be rendered.

Referring to FIG. 5 a herein, a first rendered SVG document has firstand second pages A, B, respectively. The variable content on second pageB, in this example fills the whole of a document page.

Referring to FIG. 5 b herein, a second rendered SVG document comprises afixed content page A₂, and variable content page B₂. In this example thevariable content on the second page B₂ of the document fills half apage.

Referring to FIG. 5 c herein, there is illustrated a third documentoutput of the rendering engine comprising a first page of renderedcontent A₃, and a second page of variable content B₃. In this example,the variable content B₃ is empty, leaving a blank page.

For an XSL-FO document consisting of a fixed content page A, and one ormore variable content pages B1, B2 . . . B_(n), under some circumstancesthe rendered variable content can result in blank document pages, ordocument pages having only a small amount of content, leaving voidspaces in the page.

Transactional documents have unpredictable lengths, and can span acrossan undetermined number of pages. However, it is important to be able touse any available space.

Usually, documents are published using an even number of pages, so theamount of space available which potentially arises on each document maybe more than one page. By utilising this space, the document can becompleted by addition of extra content, such as advertisements or otherbusiness information.

When dealing with high quality documents, such as those produced bydigital printing press, many customers wish to avoid having empty spacein a document, since this affects the presentation of a document, andrepresents a wasted opportunity for fully utilizing the document.Operators of digital printing presses often charge a cost per page, sothe customer instructing the print run will pay for empty pages as wellas pages which have a full amount of content. Further, customers alsowish to have pages which are in full duplex, for example so that thepages can form a leaflet having printing on both sides of the pages.

Therefore, the rendering engine is modified to provide information on:

1. which page of a document a content terminates; and

2. a position on the page at which the content terminates.

Referring to FIG. 6 herein, there is illustrated schematically arendering engine which is capable of providing feedback on where acontent terminates within an individual document in a print run, andwhich provides that information to a set of post rendering rules 601.The rendering engine 600 of a digital printing press is adapted forproducing a rendered document according to an embodiment of method ofthe present invention. The rendering engine receives the XSL-FO documentand renders it to produce a page description language (PDL) document,for example an SVG document. Methods and embodiments disclosed hereinare based on XSL-FO technology, which is a W3C standard, which is wellsuited for transactional documents.

The post rendering rules may be situated in a marketing manager tool asdescribed with reference to FIG. 2 herein.

An example of a post rendering rule may be as follows:

“Perform rendering on variable (dynamic) content.”

“If, after the rendering, there is available space in the vertical pagedirection having dimensions between X₀ and X₁, then insert staticcontent item A.”

The static content item A, can be selected such that it fits within aheight in the range X₀ to X₁ on a page.

Another example of a rule may be:

“If the remaining space unfilled by content is less than X₀, then leaveas a void.”

The above basic post-rendering rules can be combined with requirementswhich are specific to a print customer. For example, where the documentsare bank statements are credit card statements, the print customer (abank, or a credit card services company) may wish to analyse thespending patterns for each account holder, and target their content to aservice aimed at a particular spending pattern. For example, where acredit card statement shows a significant expenditure on clothing, thebank or credit card service provider may wish to include content in avoid space on the statement for a particular customer, where the contentrelates to a promotional offer for a particular clothing retailer,

The void spaces in a document, can be used for content which is aimed ata particular customer or type of customer, where the type of content isspecified by a set of post-rendering rules.

A further example of a post-rendering rule, which is customer specificto a particular print customer may be as follows:

“If account shows spending of more than £500.00, insert content item B.”

Content type B may comprise an object specifying that a customer hasbeen awarded bonus points. For example:

“Your current level of spending entitles you to 500 free bonus points,in addition to your normal bonus points. Bonus points can be spent onany of the wide range of goods and services in our bonus catalogue.”

Another example may be to provide a detachable voucher, for a fixedamount, to be used at a particular retail outlet. In that example thequality of printing must be very high, to avoid forgery of the vouchers,so this type of content is well suited to a digital printing press.

Each document in a print run may contain:

-   -   a base content, comprising one or more static content items, and        one or more variable content items which differ from document to        document; and    -   optionally, and depending upon a set of post-rendering rules, a        further additional content, which may comprise a static content        item and/or one or more variable content items, where those        content items are specified by a set of post-rendering rules.

The post-rendering rules may operate to select or specify pre-determinedtypes of content items depending upon a type of information specified inthe base content items. The post-rendering rules may, alternativelyspecify absence of content, i.e. no content is to be inserted.

Referring to FIG. 7 herein, there is illustrated schematically processescarried out within a modified rendering engine according to a specificembodiment of the present invention.

The rendering engine may be modified by means of API's which allow anexternal application to look inside the rendering engine, and applymodifications within a rendering process carried out by the renderingengine. Within a modified rendering engine 700, there is provided acomponent 701 for identifying objects in an XSL-FO flow; an object treestructure 702 for arranging the objects within a copy flow, in anarrangement whereby they can be easily identified and their locationwithin an internal cache in the rendering engine is recorded; a layoutarea tree component 703 for arranging areas in documents into a treestructure 704 in which they can be easily referenced and identified; aninterface 705 accessible by a client application 706, whereby the clientapplication can insert content items into particular areas of documentsin a content flow, according to a set of post-rendering rules; and anoutput component 707 which outputs a page description language output.The area layout tree 704 enables, for each page, a position of eachobject comprising an X, Y co-ordinate position, to be recorded as wellas allowing a whole sequence of a plurality of pages to be set out.

The interface 705 enables an insight into the rendering engine to bemade by client application 706, and for the client application todetermine how the objects are laid out within a copy flow, and therebyto determine how much space will be left at the end of each page of acopy flow, and in each document in the copy flow.

The interface can be used for writing information to the layout areatree, as well as for reading information from the layout area tree. Bychanging the information in the layout area tree via the interface,client application 706 can add or delete content items from the copyflow, or change the position of content items within pages in the copyflow. Construction of the interface may be effected in a knownprogramming language, as will be known to those skilled in the art.

The interface can also be used to provide information for identifyingerrors in layout of the copy flow, which can be checked by the clientapplication, and if necessary, amendments to the layout can be made bythe client application.

A graphic artist using a graphic artist authoring tool, generates a DTFflow, which is based upon XSL-FO. This enables a variable number ofpages to be generated. A set of pre-rendering rules related to therendering of the flow may be resident in a marketing manager tool.Further, a set of post-rendering rules can be applied, which allowsincorporation of additional content to the document, depending on anamount of space which the base content will occupy in the rendereddocuments.

The rule engines can run either in a print shop, or in a computer entityin an enterprise outside the print shop, for example in a marketingmanager tool.

Referring to FIG. 8 herein, there is illustrated schematically a firstdigital printing system incorporating a rendering engine according tothe first specific embodiment of the present invention.

The digital printing system comprises features of a known digital pressas will be understood by the persons skilled in art, and additionally,modifications as shown schematically in FIG. 8. The digital printingpress 800 comprises a rendering engine 801; and a post-rendering ruleengine 802.

The digital press of operates as follows. The rendering engine has beenextended to interact with the post-rendering rule engine, which cancreate styled fragments on the fly which suit an available space.Post-rendering rules are written beforehand and produce the contentusing information such as the amount of space available, as well as theinformation related to the customer and/or products or services.

Optimization is carried out on the press side, and enables flexibilityin optimization of utilization of space in a document, but requires theknowledge of customer information.

A set of pre-rendering rules 803 and a set of variable data 804 and adocument model 805 are input into a pre-rendering rule engine 806. Adocument (in the example shown a transactional document) is generatedbased upon the rules applied by the pre rendering rule engine, and thevariable data according to the document model which sets out the designof each document within a flow of documents. This results in an outputdocument 807 (in this example a transactional document), which isreceived by rendering engine 801. The document 807 is in a documentdescription language (DDL) for example, XSL-FO. The rendering engine 801commences rendering of the document 807 output from the pre-renderingrule engine, and generates data describing an amount of unused voidspace in the document, specifying which page that space occurs on, aswell as a spatial extent of the space. That information is received bypost-rendering rule engine 802, which also receives additional variabledata 804, and applies the additional variable data 801 to generate anadditional content 809 (in the form of an XSL-FO fragment in the exampleshown), as a result of applying a set of post-rendering rules 808,according to the information received from the rendering engine 801 uponthe amount of space left unused in the document pages. Thepost-rendering rule engine creates or selects a new content fragment tofill the available void representing unused space in the DDL document807. The additional content 809 is input into the rendering engine 801,and incorporated into the DDL document to produce a complete renderedoutput document 810 which has the available space in the documentoptimally used.

Referring to FIG. 9 herein, there is illustrated schematically a seconddigital printing system according to a second specific embodiment of thepresent invention, which includes a modified digital printing press, andshows operation of a modified rendering engine in a case where the basecontent specified in a document does not quite fill the document andleaves a void space.

The second digital printing system comprises: a digital printing press901 having a rendering engine 911; a post-rendering rule engine 900; apre rendering rule engine 904; and a database 906 containing staticcontent items and variable content items.

In the example FIG. 9, the post-rendering rule engine 900 is situatedoutside the digital printing press 901 in a separate computer entity,for example in a marketing manager tool computer entity. Pre-renderingrule engine 902 receives a document template 903, which is designed by agraphic artist, using a conventional graphic artist authoring tool; andapplies a set of pre-rendering rules 904 to the document template whichspecifies variable content items to be included into a content flowspecified by the document model, to produce a flow of documents 905output from the pre-rendering rule engine in a document descriptionlanguage. The variable content items are stored in variable contentdatabase 906, and may be supplied by a customer for the print services,for example a bank or other institution. Examples of variable contentdata may include financial account data.

Post-rendering rule engine 900 notifies the pre-rendering rule engine902 of a set of additional content items (also called herein fall-backfragments), which are to be used in the event that after rendering thereare pages within each document with void spaces. The pre-rendering ruleengine 902 incorporates in the output copy flow which it produces, linksto the additional content items specified by the post-rendering ruleengine according to a set of post-rendering rules 907.

Post-rendering rule engine 900 applies a set of post-rendering rules 907to create and/or select a set of additional content items which may beused to fulfill available space under circumstances where documents areproduced where the base content is of a size such as to produce voidspaces within each document. The post-rendering rules may specify arange of individual additional content items 908-910, each havingdifferent sizes and occupying different areas within a document layout.

Rendering engine 911 commences rendering the DDL document received fromthe pre-rendering rule engine 902, at which point, any void spaces inthe rendered documents become apparent.

According to the available void space in each document, the renderingengine selects one of the additional content items specified in the DDLdocument, in order to complete the rendering of each document, fillingin any void spaces with an additional content item selected to be of acorrect size for the particular void space in each document. Where adocument has variable base content which results in no void spaces, orvoid spaces below a pre-determined size within the rendered document, noadditional content item is included in the final rendered document bythe rendering engine. However, in cases where the DDL document outputfrom the pre-rendering rule engine, after rendering of the base contentresults in a void space, an appropriately sized pre-specified additionalcontent item will be included by the rendering engine and rendered inthe final rendered document, thereby producing a final rendereddocument, which includes one or more additional content items. Theadditional content items, are preferably static content items, that iscontent items which do not have a variable size. However in otherspecific methods, the additional content items may be of variable size,in which case an additional content item having a size which fits withina void space in a document is selected.

Referring to FIG. 10 herein, there is illustrated schematicallyprocesses carried out by a rendering engine as described hereinaccording to any one of the above described embodiments, for inclusionof additional content, where a void space in a document after renderingof the base content, is relatively small.

The rendering engine 1000 commences rendering of a document 1001specified in a document description language. The DDL document 1001contains a base content, which when rendered results in a renderedelectronic file illustrated graphically by the rendered document 1002 inFIG. 10. After the first stage rendering in which the base content isrendered, there remains an available void space 1003 at the end of therendered document. The rendering engine determines the amount ofavailable space in the rendered document 1002. This information may bemade available to a post-rendering rule engine, which supplies anadditional content item 1004 to the rendering engine. The renderingengine renders the additional content item to produce a renderedadditional content item 1005. The additional content item can be eitherspecified in the DDL document 1001 received by the rendering engine,where the system of FIG. 9 is used, or, where the system of FIG. 8 isused, the additional content item can be selected by the post-renderingrule engine which comprises part of the digital printing press.Rendering engine 1000 selects an appropriate additional content itemfrom a plurality of additional content items which may be specified inthe received document 1001 and proceeds to render a complete documentfile including both the base content and the additional content item,where an additional content item which optimizes the use of the voidspace in the document left after rendering of the base content isincluded.

Referring to FIG. 11 herein, there is illustrated schematically adocument comprising first and second pages 1100, 1101 respectively at astage after a first rendering operation, in which a base contentcomprising a plurality of static content items, and a variable contentitem has been rendered. The combined static base content and variablebase content occupy enough space in the document to take the documentinto two pages, but leaves a void space 1102 at the end of the secondpage.

Referring to FIG. 12 herein, there is illustrated schematicallyprocesses carried out by rendering engine 1200 for incorporating anadditional content item into a second page of the document shown in FIG.11 herein. The rendering engine 1200 receives a DDL document 1201comprising static base content and/or variable base content, and adocument template comprising one or more static copy holes and/or one ormore variable copy holes, in which to incorporate the static contentand/or the variable content. This results in a rendered document ofwhich the second page 1202 includes a void space 1203. The renderingengine determines the amount of available space in the second page 1202of the document and renders an additional content fragment 1204 toproduce a rendered additional content fragment 1205. Where more than oneadditional content item is available as is usually the case, therendering engine may select an appropriately sized additional renderedcontent item to fit into the available space in the second page of thedocument. The rendering engine proceeds to produce a complete rendereddocument having both the base content and the additional content, suchthat the void space in the second page of the document is optimized, byinclusion of the additional content item. It would be appreciated bythose skilled in the art that where the document extends to more thantwo pages, void spaces may occur on the last page of the rendereddocument and the additional content item may be incorporated on thatlast page.

However, void spaces are not necessarily restricted to occur on the lastpage of the document, but in the general case, may appear anywhere inthe document, on any page of a multi page document, and one or moreappropriately sized additional content items may be selected from arange of pre-determined additional content items, to fit into any voidspaces which result due to variations in the space occupied by variablebase content specified within a document.

The specific embodiments and methods described herein describe arendering engine which is modified so as to be able to expose a finallayout of a rendered document, thereby identifying any void spaces whichmay occur in a final rendering of a base document. The base document canbe modified by incorporation of additional content items prior to finalrendering, by application of a set of post-rendering rules.

The post-rendering rules may apply variable content or static content,and the additional content maybe selected or generated to be specific toan information contained in the base content of the base document. Therendering engine is capable of exposing both a page location, a locationwithin a page, and an area and/or size of any void which will occur inthe rendered based document, before the document is finally renderedinto an output document, and enabling those voids to be filled withadditional content before the final document comprising the base contentand the additional content is rendered to produce an output renderedflow.

Specific embodiments disclosed herein introduce a concept of postprocessing, rule based, style fragment generation which obtains from arendering engine information regarding an amount of space left in adocument, and completes the rendering with an appropriate fragment tocomplete the document rendering.

1. A method of generating a document comprising: receiving a documenttemplate and a set of base content items for inclusion in said document;rendering the set of said base content items; determining an extent ofany void spaces in said document after rendering of said base contentitems; and depending upon the extent of said void spaces, inserting afurther additional content item into said document.
 2. The method asclaimed in claim 1, wherein said additional content is selected from aset of pre-determined content items, according to a set of rules whichselect said additional content according to an information content ofsaid base content items.
 3. The method as claimed in claim 1, whereinsaid set of base content items comprise at least one static contentitem.
 4. The method as claimed in claim 1, wherein said set of basecontent items comprise at least one variable content item.
 5. The methodas claimed in claim 1, wherein said document template comprises at leastone static copy hole for inclusion of a static content item.
 6. Themethod as claimed in claim 1, wherein said document template comprisesat least one variable copy hole, for inclusion of at least one variablecontent item.
 7. An apparatus for generating a rendered document from aset of base content items, comprising: a rendering engine operable forrendering said document; a component operable for identifying voidspaces in said document; a component capable of supplying at least oneadditional content item and capable of incorporating said at least oneadditional content item into said document; wherein said renderingengine is operable for rendering said document, inclusive of said atleast one additional content item.
 8. The apparatus as claimed in claim7, wherein said component for identifying void spaces comprises: meansfor objectifying said set of base content items; means for identifying aposition of said base content items within a layout of said document;and means for locating a position and size of said void space in saiddocument.
 9. The apparatus as claimed in claim 7, wherein said componentfor identifying void spaces is situated at least partially, externallyof said rendering engine.
 10. The apparatus as claimed in claim 7,wherein said component capable of supplying at least one additionalcontent item comprises: a post-rendering engine adapted for selectingsaid at least one additional content item according to a set ofpost-rendering rules.
 11. The method as claimed in claim 7, wherein saidset of base content items comprise at least one variable content item.12. The method as claimed in claim 7, wherein said at least oneadditional content item is incorporated into said base document at aposition corresponding to a said identified at least one void area. 13.A method of generating a print run, said method comprising: generating abase document in a document description language by applying a set ofpre-rendering rules to a set of variable data; identifying a void areain said base document; generating information describing a location ofthe void area; applying a set of rules which assign content to the voidarea; obtaining at least one additional content item and generating arendered document incorporating the additional content item into thevoid area of the base document.
 14. The method as claimed in claim 13,wherein said document description language comprises extensible stylesheet language formatting objects (XSL-FO).
 15. A digital presscomprising: a rendering engine capable of identifying at least one voidspace within a document received by said rendering engine; means forgenerating information describing a location of said void space; meansfor applying a set of rules which assign additional content items tosaid void area; and means for rendering said base document byincorporating said additional content items in the void area, to producean output rendered document.
 16. A rendering engine comprising: meansfor identifying content items in a copy flow, and converting said copyitems to objects; storage means for storing said plurality of objects;means for arranging said objects into an object structure in which alocation of each object in said storage means is recorded; means fordetermining a page layout of said plurality of objects in a plurality ofpages of said copy flow; and an interface means for allowing an externalapplication to view said page layout, and to modify said page layout.17. The digital printing press as claimed in claim 16, wherein saidmeans for generating information describing a location of at least onevoid space comprises a memory device capable of storing a layout treedescribing a layout of at least one page within said document.
 18. Thedigital press as claimed in claim 16, wherein said means for applying aset of rules comprises: a rule engine component which is operable toapply a set of post-rendering rules to said document.
 19. The digitalpress as claimed in claim 16, wherein said document is received in adocument description language.
 20. The digital press as claimed in claim16, wherein said document is received in extensible style sheet languageformatting object (XSL-FO).
 21. A digital printing system comprising: apre-rendering rule engine capable of applying a set of pre-renderingrules to a document template, said pre-rendering rules being operablefor incorporating a set of base content data into said document templateto produce a document in a document description language; a renderingengine for rendering said document; a post-rendering rule engineoperable for applying a set of additional content items to said documenttemplate, according to a set of post-rendering rules; and a renderingengine for rendering at least one document according to said documenttemplate, inclusive of said base content items and said additionalcontent items added as a result of said post-rendering rules, to producea rendered document.
 22. The printing system as claimed in claim 21,wherein said rendering engine and said post-rendering rule engine arelocated within a digital printing press.
 23. The printing system asclaimed in claim 21, wherein said rendering engine and saidpost-rendering rule engine are located within a digital printing press;and said pre-rendering rule engine is located within a separate computerentity, capable of interfacing with said digital printing press via aninterface provided to said rendering engine.
 24. The printing system asclaimed in claim 21, wherein said base content data comprises at leastone variable content item.
 25. A computer program product for creating adocument from a plurality of content items, the program being adaptedto: render, in accordance with a predetermined set of rules, the contentobjects into a document layout suitable for rasterising into a bitmap;analyse the post-rendered document layout to establish whether itcontains a void space; and to insert an additional content item into thevoid space in accordance with a post rendering rule.
 26. A programproduct according to claim 25 wherein the post-rendering rule selects anadditional content item from a plurality of predetermined additionalcontent items.
 27. A program product according to claim 25 wherein thepost-rendering rule selects an additional content item in dependenceupon the size of the void space and the size of the additional contentitem.
 28. A program product according to claim 27 wherein thepost-rendering rule selects an additional content item additionally independence upon the nature of the content of the document.
 29. A programproduct according to claim 25 wherein the content items and theadditional content items are selected from the group consisting ofstatic content items and variable content items.